package ae.pcfc.etks.online.web.model;

import java.util.List;

import javax.validation.constraints.Pattern;
import javax.validation.constraints.Size;

import org.hibernate.validator.constraints.NotEmpty;
import org.springframework.web.multipart.commons.CommonsMultipartFile;

import ae.pcfc.etks.online.common.vo.UploadDocumentVO;
import ae.pcfc.etks.online.web.common.Constants;

public class ClientCompanyRegistration extends BaseModel {
	
	
	
	@NotEmpty
	String strUserName="";
	
	@NotEmpty
	@Pattern(regexp = Constants.MAIL_REGEXP)
	String strEmailAddress="";
	
	@NotEmpty
	String strPassword="";
	
	@NotEmpty
	String strConfirmPassword="";
	
	
	Long iSecQuestion;
	
	@NotEmpty
	String strSecretAnswer="";
	
	@NotEmpty
	@Pattern(regexp = Constants.TEL_REGEXP)
	String strMobileNumber;
	

	String strMobileNotification;
	
	String strEmailNotification;
	
	String strAuthorizedPerson;
	
	@NotEmpty
	@Size(max = 200)
	String strCompNameEng = "";
	
	@NotEmpty
	@Size(max = 200)
	String strCompNameArab = "";
	
	String strUploadURL ;
	
	String strUploadDocumentType;
	
	String strUploadDocName;
	
	List<UploadDocumentVO> arrDocumentVOs;
	
	/**
	 * @return the strUploadDocName
	 */
	public String getStrUploadDocName() {
		return strUploadDocName;
	}

	/**
	 * @param strUploadDocName the strUploadDocName to set
	 */
	public void setStrUploadDocName(String strUploadDocName) {
		this.strUploadDocName = strUploadDocName;
	}

	List<CommonsMultipartFile> files;
	
	

	/**
	 * @return the strCompNameEng
	 */
	public String getStrCompNameEng() {
		return strCompNameEng;
	}

	/**
	 * @param strCompNameEng the strCompNameEng to set
	 */
	public void setStrCompNameEng(String strCompNameEng) {
		this.strCompNameEng = strCompNameEng;
	}

	/**
	 * @return the strCompNameArab
	 */
	public String getStrCompNameArab() {
		return strCompNameArab;
	}

	/**
	 * @param strCompNameArab the strCompNameArab to set
	 */
	public void setStrCompNameArab(String strCompNameArab) {
		this.strCompNameArab = strCompNameArab;
	}

	 /**
	 * @return the strMobileNotification
	 */
	public String getStrMobileNotification() {
		return strMobileNotification;
	}

	/**
	 * @param strMobileNotification the strMobileNotification to set
	 */
	public void setStrMobileNotification(String strMobileNotification) {
		this.strMobileNotification = strMobileNotification;
	}

	/**
	 * @return the strEmailNotification
	 */
	public String getStrEmailNotification() {
		return strEmailNotification;
	}

	/**
	 * @param strEmailNotification the strEmailNotification to set
	 */
	public void setStrEmailNotification(String strEmailNotification) {
		this.strEmailNotification = strEmailNotification;
	}

	/**
	 * @return the strMobileNumber
	 */
	public String getStrMobileNumber() {
		return strMobileNumber;
	}

	/**
	 * @param strMobileNumber the strMobileNumber to set
	 */
	public void setStrMobileNumber(String strMobileNumber) {
		this.strMobileNumber = strMobileNumber;
	}


	/**
	 * @return the strConfirmPassword
	 */
	public String getStrConfirmPassword() {
		return strConfirmPassword;
	}

	/**
	 * @param strConfirmPassword the strConfirmPassword to set
	 */
	public void setStrConfirmPassword(String strConfirmPassword) {
		this.strConfirmPassword = strConfirmPassword;
	}

	

	/**
	 * @return the strUserName
	 */
	public String getStrUserName() {
		return strUserName;
	}

	/**
	 * @param strUserName the strUserName to set
	 */
	public void setStrUserName(String strUserName) {
		this.strUserName = strUserName;
	}

	/**
	 * @return the strEmailAddress
	 */
	public String getStrEmailAddress() {
		return strEmailAddress;
	}

	/**
	 * @param strEmailAddress the strEmailAddress to set
	 */
	public void setStrEmailAddress(String strEmailAddress) {
		this.strEmailAddress = strEmailAddress;
	}

	/**
	 * @return the strPassword
	 */
	public String getStrPassword() {
		return strPassword;
	}

	/**
	 * @param strPassword the strPassword to set
	 */
	public void setStrPassword(String strPassword) {
		this.strPassword = strPassword;
	}

	/**
	 * @return the iSecQuestion
	 */
	public Long getiSecQuestion() {
		return iSecQuestion;
	}

	/**
	 * @param iSecQuestion the iSecQuestion to set
	 */
	public void setiSecQuestion(Long iSecQuestion) {
		this.iSecQuestion = iSecQuestion;
	}


	/**
	 * @return the strSecretAnswer
	 */
	public String getStrSecretAnswer() {
		return strSecretAnswer;
	}

	/**
	 * @param strSecretAnswer the strSecretAnswer to set
	 */
	public void setStrSecretAnswer(String strSecretAnswer) {
		this.strSecretAnswer = strSecretAnswer;
	}

	/**
	 * @return the files
	 */
	public List<CommonsMultipartFile> getFiles() {
		return files;
	}

	/**
	 * @param files the files to set
	 */
	public void setFiles(List<CommonsMultipartFile> files) {
		this.files = files;
	}

	/**
	 * @return the strUploadURL
	 */
	public String getStrUploadURL() {
		return strUploadURL;
	}

	/**
	 * @param strUploadURL the strUploadURL to set
	 */
	public void setStrUploadURL(String strUploadURL) {
		this.strUploadURL = strUploadURL;
	}

	/**
	 * @return the strUploadDocumentType
	 */
	public String getStrUploadDocumentType() {
		return strUploadDocumentType;
	}

	/**
	 * @param strUploadDocumentType the strUploadDocumentType to set
	 */
	public void setStrUploadDocumentType(String strUploadDocumentType) {
		this.strUploadDocumentType = strUploadDocumentType;
	}

	public List<UploadDocumentVO> getArrDocumentVOs() {
		return arrDocumentVOs;
	}

	public void setArrDocumentVOs(List<UploadDocumentVO> arrDocumentVOs) {
		this.arrDocumentVOs = arrDocumentVOs;
	}
	public String getStrAuthorizedPerson() {
		return strAuthorizedPerson;
	}

	public void setStrAuthorizedPerson(String strAuthorizedPerson) {
		this.strAuthorizedPerson = strAuthorizedPerson;
	}
	
}
